// import { Message } from "element-ui";

// 复制函数
// export const copyToClipboard = text => {
//   let textArea = document.createElement("textarea");
//   textArea.style.position = "fixed";
//   textArea.style.top = "-100px";
//   textArea.style.left = "-100px";
//   textArea.value = text;
//   document.body.appendChild(textArea);
//   textArea.select();
//   try {
//     const successful = document.execCommand("copy");
//     const msg = successful ? "已复制" : "该浏览器不支持点击复制到剪贴板";
//     Message({
//       message: msg,
//       type: successful ? "success" : "warning"
//     });
//   } catch (err) {
//     Message({
//       message: "该浏览器不支持点击复制到剪贴板",
//       type: "warning"
//     });
//   }
//   document.body.removeChild(textArea);
// };

//下载图片
export const fileDownload = (imgurl, filename = "file") => {
  // 创建隐藏的可下载链接
  const eleLink = document.createElement("a");
  eleLink.download = filename + `_${Math.round(new Date().getTime() / 1000)}`;
  eleLink.style.display = "none";
  // 图片转base64地址
  const img = document.createElement("img");
  img.setAttribute("crossOrigin", "anonymous");
  img.src = imgurl;
  img.onload = () => {
    const canvas = document.createElement("canvas");
    const ctx = canvas.getContext("2d");
    const scale = 1; //图片比例
    canvas.width = img.width * scale; // 画布宽度
    canvas.height = img.height * scale; // 画布高度
    ctx.imageSmoothingEnabled = true;
    ctx.drawImage(img, 0, 0, img.width * scale, img.height * scale);
    eleLink.href = canvas.toDataURL("image/jpeg", 1.0);
    document.body.appendChild(eleLink);
    eleLink.click();
    document.body.removeChild(eleLink);
  };
};
/**
 * 对象转url参数
 */
export function obj2urlParams(obj) {
  if (obj && typeof obj === "object") {
    let paramArr = [];
    Object.keys(obj).forEach(key => {
      let value = obj[key];
      let param = `${key}=${value}`;
      paramArr.push(param);
    });
    return paramArr.join("&");
  }
  return "";
}


/**
 *
 *
 * @param description 提示描述
 * @param type 提示类型
 * @param isError 是否是错误提示
 * @param title 提示标题
 * @returns
 */
export const NotifyCreate = (info) => {
  const { description, type, msg, isError } = info
  notice[info.type || 'warning']({
    message: msg || (isError || type == 'error' ? '操作失败' : '提示'),
    description: description,
    duration: 3,
  })
  return
}
/**
 * 格式化时间
 * @params {number} 时间戳
 * @params {string} 格式
 * @return {string} 格式化时间
 */

export function formatTime(time,fmtstr){
  const date = new Date(time);
  let ret;
  const opt = {
    "Y+": date.getFullYear().toString(),        // 年
    "m+": (date.getMonth() + 1).toString(),     // 月
    "d+": date.getDate().toString(),            // 日
    "H+": date.getHours().toString(),           // 时
    "M+": date.getMinutes().toString(),         // 分
    "S+": date.getSeconds().toString()          // 秒
    // 有其他格式化字符需求可以继续添加，必须转化成字符串
  };
  for (let k in opt) {
      ret = new RegExp("(" + k + ")").exec(fmtstr);
      if (ret) {
          fmtstr = fmtstr.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
      }
  }
  return fmtstr;
}


export function deepClone(source) {
  if (!source && typeof source !== 'object') {
    throw new Error('error arguments', 'deepClone')
  }
  const targetObj = source.constructor === Array ? [] : {}
  Object.keys(source).forEach(keys => {
    if (source[keys] && typeof source[keys] === 'object') {
      targetObj[keys] = deepClone(source[keys])
    } else {
      targetObj[keys] = source[keys]
    }
  })
  return targetObj
}

export function isNull (val){
  return val === '' || val === null || val === undefined
}


export function isNotNull (val) {
  return !isNull(val)
}